API Documentation
AtmosphereEffect.h
1 // AtmosphereEffect.h
3 //
5 
6 namespace nkAstraeus
7 {
25  class AtmosphereEffect final : public Effect
26  {
27  public :
28 
29  // Constructor, destructor
40 
41  // Getters
45  virtual EFFECT_TYPE getType () const override ;
113  float getMieG () const ;
121  float getMieHeightDensityFactor () const ;
129  float getSunIlluminanceFactor () const ;
133  float getSunAngularRadius () const ;
137  unsigned int getSunLutSampleCount () const ;
149  unsigned int getRaymarchSampleCount () const ;
156  unsigned int getSunTransmittanceLutWidth () const ;
163  unsigned int getSunTransmittanceLutHeight () const ;
170  unsigned int getMultiScatteringLutWidth () const ;
177  unsigned int getMultiScatteringLutHeight () const ;
185  float getShadowDepthBias () const ;
189  bool getShadowDebug () const ;
196  bool getUseHalfFloatForLuts () const ;
197 
198  // Setters
354  void setMieG (float value) ;
366  void setRayleighHeightDensityFactor (float value) ;
378  void setMieHeightDensityFactor (float value) ;
390  void setOzoneHeightDensityFactor (float value) ;
399  void setDistanceFactor (float value) ;
407  void setSunIlluminanceFactor (float value) ;
415  void setSunAngularRadius (float value) ;
425  void setSunTransmittanceLutSampleCount (unsigned int value) ;
436  void setMultiScatteringLutSphereSampleCount (unsigned int value) ;
446  void setMultiScatteringLutMarchSampleCount (unsigned int value) ;
456  void setRaymarchSampleCount (unsigned int value) ;
468  void setShadowSource (nkGraphics::Texture* shadowMap, nkGraphics::Camera* lightCamera) ;
487  void setShadowDepthBias (float value) ;
496  void setShadowDebug (bool value) ;
505  void setSunTransmittanceLutWidth (unsigned int value) ;
514  void setSunTransmittanceLutHeight (unsigned int value) ;
523  void setMultiScatteringLutWidth (unsigned int value) ;
532  void setMultiScatteringLutHeight (unsigned int value) ;
542  void setUseHalfFloatForLuts (bool value) ;
543 
544  // Updates
552  bool refreshLuts () ;
553 
554  // Load
558  virtual bool load () override ;
562  virtual void unload () override ;
563  } ;
564 }
nkAstraeus::AtmosphereEffect::getMultiScatteringLut
nkGraphics::Texture * getMultiScatteringLut() const
nkAstraeus::AtmosphereEffect::setSourceColorTexture
void setSourceColorTexture(nkGraphics::Texture *value)
nkAstraeus::AtmosphereEffect::getShadowDepthBias
float getShadowDepthBias() const
nkAstraeus::AtmosphereEffect::setShadowSamplingMethod
void setShadowSamplingMethod(SHADOW_MAP_PCF value)
nkAstraeus::AtmosphereEffect::setRayleighAbsorb
void setRayleighAbsorb(nkMaths::Vector value)
nkAstraeus::AtmosphereEffect
An atmosphere effect.
Definition: AtmosphereEffect.h:26
nkAstraeus::AtmosphereEffect::setRayleighExtinction
void setRayleighExtinction(nkMaths::Vector value)
nkAstraeus::AtmosphereEffect::load
virtual bool load() override
nkAstraeus::AtmosphereEffect::setMultiScatteringLutHeight
void setMultiScatteringLutHeight(unsigned int value)
nkAstraeus::AtmosphereEffect::setRayleighScattering
void setRayleighScattering(nkMaths::Vector value)
nkAstraeus::AtmosphereEffect::getOzoneScattering
nkMaths::Vector getOzoneScattering() const
nkGraphics::Camera
Offers all controls to model a camera.
Definition: Camera.h:12
nkAstraeus::AtmosphereEffect::setMieAbsorb
void setMieAbsorb(nkMaths::Vector value)
nkAstraeus::AtmosphereEffect::getShadowDebug
bool getShadowDebug() const
nkAstraeus::AtmosphereEffect::getSourceColorTexture
nkGraphics::Texture * getSourceColorTexture() const
nkAstraeus::AtmosphereEffect::getMieExtinction
nkMaths::Vector getMieExtinction() const
nkGraphics::Texture
A texture used for rendering, hosted on GPU.
Definition: Texture.h:35
nkAstraeus::AtmosphereEffect::getRayleighExtinction
nkMaths::Vector getRayleighExtinction() const
nkAstraeus::EFFECT_TYPE
EFFECT_TYPE
Lists all effects supported.
Definition: EffectType.h:12
nkAstraeus::AtmosphereEffect::setMieG
void setMieG(float value)
nkAstraeus::AtmosphereEffect::getMultiScatteringLutHeight
unsigned int getMultiScatteringLutHeight() const
nkAstraeus::AtmosphereEffect::getRayleighHeightDensityFactor
float getRayleighHeightDensityFactor() const
nkAstraeus::AtmosphereEffect::getLutShader
nkGraphics::Shader * getLutShader() const
nkAstraeus::AtmosphereEffect::getSunLutSampleCount
unsigned int getSunLutSampleCount() const
nkAstraeus::AtmosphereEffect::getOzoneHeighthDensityFactor
float getOzoneHeighthDensityFactor() const
nkAstraeus::AtmosphereEffect::setOzoneScattering
void setOzoneScattering(nkMaths::Vector value)
nkAstraeus::AtmosphereEffect::getMieG
float getMieG() const
nkAstraeus::AtmosphereEffect::setRayleighHeightDensityFactor
void setRayleighHeightDensityFactor(float value)
nkAstraeus::AtmosphereEffect::setMultiScatteringLutWidth
void setMultiScatteringLutWidth(unsigned int value)
nkAstraeus::AtmosphereEffect::getRayleighScattering
nkMaths::Vector getRayleighScattering() const
nkAstraeus::AtmosphereEffect::getType
virtual EFFECT_TYPE getType() const override
nkAstraeus::AtmosphereEffect::refreshLuts
bool refreshLuts()
nkAstraeus::AtmosphereEffect::setOzoneHeightDensityFactor
void setOzoneHeightDensityFactor(float value)
nkAstraeus::AtmosphereEffect::getSunAngularRadius
float getSunAngularRadius() const
nkAstraeus::AtmosphereEffect::setOzoneExtinction
void setOzoneExtinction(nkMaths::Vector value)
nkGraphics::Shader
A shader class, feeding data to a Program.
Definition: Shader.h:14
nkAstraeus::AtmosphereEffect::getUseHalfFloatForLuts
bool getUseHalfFloatForLuts() const
nkAstraeus::AtmosphereEffect::getSunTransmittanceLutWidth
unsigned int getSunTransmittanceLutWidth() const
nkAstraeus::AtmosphereEffect::getShadowSamplingMethod
SHADOW_MAP_PCF getShadowSamplingMethod() const
nkAstraeus::AtmosphereEffect::setDistanceFactor
void setDistanceFactor(float value)
nkAstraeus::AtmosphereEffect::getMultiScatteringLutWidth
unsigned int getMultiScatteringLutWidth() const
nkAstraeus::AtmosphereEffect::setPlanetAlbedo
void setPlanetAlbedo(nkMaths::Vector value)
nkAstraeus::AtmosphereEffect::getMultiScatteringLutSphereSampleCount
unsigned int getMultiScatteringLutSphereSampleCount() const
nkAstraeus::AtmosphereEffect::setSunAngularRadius
void setSunAngularRadius(float value)
nkAstraeus::AtmosphereEffect::setSunTransmittanceLutHeight
void setSunTransmittanceLutHeight(unsigned int value)
nkAstraeus::AtmosphereEffect::setUseHalfFloatForLuts
void setUseHalfFloatForLuts(bool value)
nkAstraeus::AtmosphereEffect::getMieAbsorb
nkMaths::Vector getMieAbsorb() const
nkAstraeus::SHADOW_MAP_PCF
SHADOW_MAP_PCF
Percentage Closer Filtering settings available for materials and effects supporting the shadow mappin...
Definition: ShadowMapPcf.h:12
nkAstraeus::AtmosphereEffect::getMultiScatteringLutMarchSampleCount
unsigned int getMultiScatteringLutMarchSampleCount() const
nkAstraeus::AtmosphereEffect::AtmosphereEffect
AtmosphereEffect()
nkAstraeus::AtmosphereEffect::getSourceDepthTexture
nkGraphics::Texture * getSourceDepthTexture() const
nkAstraeus::AtmosphereEffect::getOzoneAbsorb
nkMaths::Vector getOzoneAbsorb() const
nkAstraeus::AtmosphereEffect::setShadowDebug
void setShadowDebug(bool value)
nkAstraeus
Encompasses all API of component NilkinsAstraeus.
Definition: Engine.h:7
nkAstraeus::AtmosphereEffect::getRayleighAbsorb
nkMaths::Vector getRayleighAbsorb() const
nkAstraeus::AtmosphereEffect::setMultiScatteringLutSphereSampleCount
void setMultiScatteringLutSphereSampleCount(unsigned int value)
nkAstraeus::AtmosphereEffect::setSunTransmittanceLutWidth
void setSunTransmittanceLutWidth(unsigned int value)
nkAstraeus::Effect
Base class for all effects in the component.
Definition: Effect.h:16
nkAstraeus::AtmosphereEffect::setShadowSource
void setShadowSource(nkGraphics::Texture *shadowMap, nkGraphics::Camera *lightCamera)
nkAstraeus::AtmosphereEffect::setSunPosition
void setSunPosition(nkMaths::Vector value)
nkAstraeus::AtmosphereEffect::getSunTransmittanceLut
nkGraphics::Texture * getSunTransmittanceLut() const
nkAstraeus::AtmosphereEffect::~AtmosphereEffect
~AtmosphereEffect()
nkAstraeus::AtmosphereEffect::setMieScattering
void setMieScattering(nkMaths::Vector value)
nkAstraeus::AtmosphereEffect::getSunIlluminanceFactor
float getSunIlluminanceFactor() const
nkAstraeus::AtmosphereEffect::getSunPosition
nkMaths::Vector getSunPosition() const
nkAstraeus::AtmosphereEffect::setRaymarchSampleCount
void setRaymarchSampleCount(unsigned int value)
nkAstraeus::AtmosphereEffect::unload
virtual void unload() override
nkAstraeus::AtmosphereEffect::setMieHeightDensityFactor
void setMieHeightDensityFactor(float value)
nkAstraeus::AtmosphereEffect::setSourceDepthTexture
void setSourceDepthTexture(nkGraphics::Texture *value)
nkAstraeus::AtmosphereEffect::setShadowDepthBias
void setShadowDepthBias(float value)
nkAstraeus::AtmosphereEffect::setOzoneAbsorb
void setOzoneAbsorb(nkMaths::Vector value)
nkAstraeus::AtmosphereEffect::setMieExtinction
void setMieExtinction(nkMaths::Vector value)
nkAstraeus::AtmosphereEffect::setSunTransmittanceLutSampleCount
void setSunTransmittanceLutSampleCount(unsigned int value)
nkAstraeus::AtmosphereEffect::getMieHeightDensityFactor
float getMieHeightDensityFactor() const
nkAstraeus::AtmosphereEffect::getRaymarchSampleCount
unsigned int getRaymarchSampleCount() const
nkAstraeus::AtmosphereEffect::setMultiScatteringLutMarchSampleCount
void setMultiScatteringLutMarchSampleCount(unsigned int value)
nkAstraeus::AtmosphereEffect::getOzoneExtinction
nkMaths::Vector getOzoneExtinction() const
nkAstraeus::AtmosphereEffect::setSunIlluminanceFactor
void setSunIlluminanceFactor(float value)
nkMaths::Vector
A 4-component vector class, with floats.
Definition: Vector.h:12
nkAstraeus::AtmosphereEffect::getPlanetAlbedo
nkMaths::Vector getPlanetAlbedo() const
nkAstraeus::AtmosphereEffect::getSunTransmittanceLutHeight
unsigned int getSunTransmittanceLutHeight() const
nkAstraeus::AtmosphereEffect::getMieScattering
nkMaths::Vector getMieScattering() const